package com.haoyun.mirage.user.model.entity;

import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.activerecord.Model;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.Version;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户信息表
 * </p>
 *
 * @author twg
 * @since 2018-07-10
 */
@Data
@Accessors(chain = true)
public class SysUser extends Model<SysUser> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 创建人
     */
    @TableField(value = "creator",fill = FieldFill.INSERT)
    private Long creator;
    /**
     * 修改人
     */
    @TableField(value = "modifier",fill = FieldFill.INSERT_UPDATE)
    private Long modifier;
    /**
     * 是否删除 0否1是
     */
    @TableField("is_deleted")
    private Integer isDeleted;
    /**
     * 创建时间
     */
    @TableField(value = "gmt_create",fill = FieldFill.INSERT)
    private Date gmtCreate;
    /**
     * 修改时间
     */
    @TableField(value = "gmt_modified",fill = FieldFill.INSERT_UPDATE)
    private Date gmtModified;
    /**
     * 公司id
     */
    @TableField(value = "comp_id",fill = FieldFill.INSERT)
    private Long compId;
    /**
     * 公司名
     */
    @TableField("comp_name")
    private String compName;
    /**
     * 部门id
     */
    @TableField("dept_id")
    private Long deptId;
    /**
     * 部门名
     */
    @TableField("dept_name")
    private String deptName;
    /**
     * 用户名
     */
    @TableField("user_name")
    private String userName;
    /**
     * 真实姓名
     */
    @TableField("real_name")
    private String realName;
    /**
     * 用户密码
     */
    @TableField("user_password")
    private String userPassword;
    /**
     * 用户级别 0默认，1超级管理员，2管理员，3公司级，4部门级，5用户级
     */
    @TableField("user_level")
    private Integer userLevel;
    /**
     * 邮箱
     */
    @TableField("email")
    private String email;
    /**
     * 手机号
     */
    @TableField("mobile")
    private String mobile;
    /**
     * 盐值
     */
    @TableField("salt")
    private String salt;
    /**
     * 是否启用0-正常，1-失效，2-过期，3-锁定，4-密码过期
     */
    @TableField("is_enabled")
    private Integer isEnabled;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
